import http from '@/service'

/**
    获取歌曲详情
    说明 : 调用此接口 , 传入音乐 id(支持多个 id, 用 , 隔开), 可获得歌曲详情(dt为歌曲时长)

    必选参数 : ids: 音乐 id, 如 ids=347230

    接口地址 : /song/detail

    调用例子 : /song/detail?ids=347230,/song/detail?ids=347230,347231
 */
export function songDetailsInterface(params) {
    return http({
        url: '/song/detail',
        method: 'GET',
        params
    })
}

// 歌单列表接口 /register/anonimous
export function artistListInterface(params) {
    return http({
        url: `/artist/list/?type=-1&area=-1`,
        method: 'get',
        params
    })
}

/*  
    歌手榜: /toplist/artist
    说明 : 调用此接口 , 可获取排行榜中的歌手榜
 */
export function TopListInterface() {
    return http({
        url: `/toplist/artist`,
        method: 'get',
    })
}
// 用户喜欢音乐列表
/**
 * 
    说明 : 调用此接口 , 传入用户 id, 可获取已喜欢音乐 id 列表(id 数组)

    必选参数 : uid: 用户 id

    接口地址 : /likelist

    调用例子 : /likelist?uid=32953014
 */
export function userLikesListInterface() {
    return http({
        url: `/likelist?cookie=${localStorage.getItem("cookie")}`,
        method: 'get',

    })
}

/**
    获取音乐 url - 新版
    说明 : 使用注意事项同上

    必选参数 : id : 音乐 id level: 播放音质等级, 分为 standard => 标准,higher => 较高, exhigh=>极高, lossless=>无损, hires=>Hi-Res

    接口地址 : /song/url/v1

    调用例子 : /song/url/v1?id=33894312&level=exhigh /song/url/v1?id=405998841,33894312&level=lossless
 */
export function songUrlInterface(params) {
    return http({
        url: '/song/url/v1',
        method: 'GET',
        params
    })
}

/**
    音乐百科 - 简要信息
    说明: 调用此接口可以获取歌曲的音乐百科简要信息

    由于此接口返回内容过于复杂, 请按需取用

    接口地址: /song/wiki/summary

    必选参数: id: 歌曲 ID

    调用例子: /song/wiki/summary?id=1958384591
 */
export function songWikiInterface(params) {
    return http({
        url: '/song/wiki/summary',
        method: 'GET',
        params
    })
}
/**
    获取歌词
    说明: 调用此接口, 传入音乐 id 可获得对应音乐的歌词(不需要登录)
    必选参数: id: 音乐 id
    接口地址: /lyric
    调用例子: /lyric?id=33894312
 */
export function lyricsInterface(params) {
    return http({
        url: '/lyric',
        method: 'GET',
        params
    })
}

/**
    新建歌单
    说明 : 调用此接口 , 传入歌单名字可新建歌单
    必选参数 : name : 歌单名
    可选参数 :
    privacy : 是否设置为隐私歌单，默认否，传'10'则设置成隐私歌单
    type : 歌单类型,默认'NORMAL',传 'VIDEO'则为视频歌单,传 'SHARED'则为共享歌单
    接口地址 : /playlist/create
    调用例子 : /playlist/create?name=测试歌单,/playlist/create?name=test&type=VIDEO
 */
export function playlistCreateInterface(params) {
    return http({
        url: `/playlist/create?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}

/**
 * 喜欢音乐
    说明 : 调用此接口 , 传入音乐 id, 可喜欢该音乐

    必选参数 : id: 歌曲 id

    可选参数 : like: 布尔值 , 默认为 true 即喜欢 , 若传 false, 则取消喜欢

    接口地址 : /like

    调用例子 : /like?id=347230
 * @param {*} params  必选参数 : id: 歌曲 id
 * @returns 
 */
export function likeInterface(params) { 
    return http({
        url: `/like/?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}

/**
 *  编辑歌单歌单
    说明: 登录后调用此接口,可以更新用户歌单
    必选参数:   id:歌单id
                name:歌单名字
                desc:歌单描述
                tags:歌单tag ,多个用 `;` 隔开,只能用官方规定标签
    接口地址 : /playlist/delete
    调用例子 : /playlist/delete?id=2947311456 , /playlist/delete?id=5013464397,5013427772
 */
export function playlistUpdateInterface(params) {
    return http({
        url: `/playlist/update?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}

/**
 *  删除歌单
    说明 : 调用此接口 , 传入歌单 id 可删除歌单
    必选参数 : id : 歌单 id,可多个,用逗号隔开
    接口地址 : /playlist/delete
    调用例子 : /playlist/delete?id=2947311456 , /playlist/delete?id=5013464397,5013427772
 */
export function playlistDeleteInterface(params) {
    return http({
        url: `/playlist/delete?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}

/**
 *  收藏/取消收藏歌单
    说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单
    必选参数 :
    t : 类型,1:收藏,2:取消收藏 id : 歌单 id
    接口地址 : /playlist/subscribe
    调用例子 : /playlist/subscribe?t=1&id=106697785 /playlist/subscribe?t=2&id=106697785
 */
export function playlistSubscribeInterface(params) {
    return http({
        url: `/playlist/subscribe?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}


export function simiSongInterface(params) {
    return http({
        url: `/simi/song?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}
